package com.hsjk.szwj.module.train.api;

import com.hsjk.szwj.framework.tenant.core.aop.TenantIgnore;
import com.hsjk.szwj.module.train.api.dto.CourseDTO;
import com.hsjk.szwj.module.train.api.dto.MemberCourseMappingDTO;
import com.hsjk.szwj.module.train.convert.CourseConvert;
import com.hsjk.szwj.module.train.dal.dataobject.course.CourseDO;
import com.hsjk.szwj.module.train.dal.dataobject.course.MemberCourseMappingDO;
import com.hsjk.szwj.module.train.dal.mysql.course.ICourseMapper;
import com.hsjk.szwj.module.train.dal.mysql.course.IMemberCourseMappingMapper;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * @author chenjiawei
 * @desc
 * @Date 2023/09/04 23:00
 **/
@Service
public class CourseApiImpl implements ICourseApi {
    @Resource
    private ICourseMapper courseMapper;
    @Resource
    private IMemberCourseMappingMapper memberCourseMappingMapper;

    @Override
    @TenantIgnore
    public CourseDTO getCourseById(Long id) {
        CourseDO courseDO = courseMapper.selectById(id);
        return CourseConvert.INSTANCE.convertCourseDTO(courseDO);
    }

    @Override
    public int createMemberCourseMapping(MemberCourseMappingDTO memberCourseMappingDTO) {
        MemberCourseMappingDO memberCourseMappingDO = CourseConvert.INSTANCE.convertMemberCourseMappingDO(memberCourseMappingDTO);
        return memberCourseMappingMapper.insert(memberCourseMappingDO);
    }
}
